package com.foamya.minego

import android.annotation.SuppressLint
import android.content.Intent
import android.content.SharedPreferences
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button

class MainActivity : AppCompatActivity() {

    private lateinit var preferences: SharedPreferences

    private lateinit var startBtn: Button

    @SuppressLint("UseCompatLoadingForDrawables")
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // 私有化
        preferences = getSharedPreferences("level", MODE_PRIVATE)

        // 控件实例化
        startBtn = findViewById(R.id.main_btn_start)

        // 初始化关卡
        initLevel()

        // 监听点击按钮跳转页面
        startBtn.setOnClickListener {
            val intent = Intent(this, GameActivity::class.java)
            startActivity(intent)
        }
    }

    /**
     * 初始化关卡
     */
    @SuppressLint("SetTextI18n")
    private fun initLevel() {
        var level = 1 // 默认关卡

        // 获取存储的关卡，注没存时默认为0
        val getLevel = preferences.getInt("level", 0)

        if (getLevel == 0) { // 没存过关卡时存储
            // 保存关卡
            val edit = preferences.edit()
            edit.putInt("level", level)
            edit.apply()
        } else if (level != getLevel) { // 存储过且不相等直接替换
            level = getLevel
        }

        // 控件文字
        startBtn.text = "第 $level 关"
    }

    /**
     * 重新获取焦点
     */
    @SuppressLint("SetTextI18n")
    override fun onResume() {
        super.onResume()

        // 重置控件文字
        val level = preferences.getInt("level", 0)
        startBtn.text = "第 $level 关"
    }
}